what is statically typed language